#!/usr/bin/env node

// rm不能删除一个非空的目录，所以需要递归删除
// 命令行需要rm -rf
const fs = require('fs');
const join = require('path').join;
const path = require('path');

const src = process.argv[2];

if (!src) {
    console.error('错误：未提供要删除的文件或目录名。');
    process.exit(1);
}

// 检查文件或目录是否存在
if (!fs.existsSync(src)) {
    console.error(`错误：文件或目录 ${src} 不存在。`);
    process.exit(1);
}

if(fs.statSync(src).isFile()){
    fs.unlinkSync(src);
    console.log(`文件 ${src} 已被删除。`);
}
if(fs.statSync(src).isDirectory()){
    deleteDir(src);
    console.log(`目录 ${src} 及其所有内容已被删除。`);
}
function deleteDir(folder){
    const files = fs.readdirSync(folder);

    for(let i =0; i<files.length; i++){
       const file = join(folder,files[i]);
       if(fs.statSync(file).isFile()){
           fs.unlinkSync(file);
           continue;
       }
       //递归
       if(fs.statSync(file).isDirectory()){
           deleteDir(file);
       }
    }
    fs.rmdirSync(folder);
}
//创建文件夹twenties
// 在twenties下创建文件夹twenty
// 在twenty和twenties下分别创建文件aaa bbb
// 执行node 20-my-rm.js twenties
